// 分析题目：已知一个水果能切成n块，顾客要求水果块数在区间\([l,r]\)内，牛牛按个卖水果。
// 我们需要判断是否存在整数个水果切出的块数满足区间要求，若存在则求出最少和最多切的水果个数。
// 算法思路：计算最少切的水果个数：用区间下限l除以n，若\(l\div n\)有余数，说明l不是n的整数倍，
// 那么最少需要切的水果个数为\(\left\lceil\frac{l}{n}\right\rceil\)（向上取整）；若整除，最少
// 个数就是\(\frac{l}{n}\)。计算最多切的水果个数：用区间上限r除以n，若\(r\div n\)有余数，最多
// 需要切的水果个数为\(\left\lfloor\frac{r}{n}\right\rfloor\)（向下取整）；若整除，最多个数
// 就是\(\frac{r}{n}\)。判断是否能满足要求：若\(\left\lceil\frac{l}{n}\right\rceil>
//     \left\lfloor\frac{r}{n}\right\rfloor\)，说明不存在整数个水果切出的块数能满足区间\([l,r]\)，
//     输出\(- 1\)。


const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;

async function main() {
    // 读取测试用例的数量T
    const T = parseInt(await readline());
    for (let i = 0; i < T; i++) {
        // 读取n, l, r
        const line = await readline();
        const [n, l, r] = line.split(' ').map(Number);
        // 计算最少切的水果个数
        const minCount = Math.ceil(l / n);
        // 计算最多切的水果个数
        const maxCount = Math.floor(r / n);
        if (minCount > maxCount) {
            console.log(-1);
        } else {
            console.log(minCount + " " + maxCount);
        }
    }
}

main();

// 解释：
// 首先读取测试用例数量T。
// 然后针对每个测试用例，读取n（一个水果切成的块数）、l（区间下限）和r（区间上限）。
// 利用Math.ceil计算最少切的水果个数，用Math.floor计算最多切的水果个数。
// 根据最少和最多切的水果个数的关系，输出对应的结果。